import { Map } from "mapbox-gl";
import Base from "../layers/Base";
import AreaMask from "../layers/AreaMask";
import DrawLayer from "../layers/DrawLayer";
import AreaLayer from "../layers/AreaLayer";
import AreaCenterLayer from "../layers/AreaCenterLayer";
import MenuMapLayer from "../layers/MenuMapLayer";
class MapboxLayerRender {
  static base = Base;
  map: Map;
  areaMask: AreaMask;
  drawLayer: DrawLayer;
  areaLayer: AreaLayer;
  areaCenterLayer: AreaCenterLayer;
  menuMapLayer: MenuMapLayer;
  constructor(map: Map) {
    this.map = map;
    // 背景
    this.areaMask = new AreaMask(this.map, {});
    // 子区域线
    this.areaLayer = new AreaLayer(this.map, {});
    // 绘图插件
    this.drawLayer = new DrawLayer(this.map, {});
    // 子区域中的文字
    this.areaCenterLayer = new AreaCenterLayer(this.map, {});
    // 菜单中点击后出现然地图上的 点 面 线
    this.menuMapLayer = new MenuMapLayer(this.map, {});
  }
}

export {
  AreaMask,
  DrawLayer,
  AreaLayer,
  AreaCenterLayer,
  MenuMapLayer
}

export default MapboxLayerRender;
